package com.sinosoft.ebusiness.domain.elementManage;
// 采用工具 Hibernate Tools 3.2.4.GA (sinosoft version) 生成，请勿手工修改。

import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.sinosoft.ebusiness.domain.elementManage.GeProductSectionItemkind;
import com.sinosoft.ebusiness.domain.elementManage.GeRateCondition;

/**
 * POJO类GeProductSection
 */
@Entity
@Table(name = "GE_PRODUCT_SECTION")
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler"})
public class GeProductSection implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6585104121433277866L;

	/** 属性combocode */
	private String combocode;

	/** 属性geRateCondition */
	private GeRateCondition geRateCondition;

	/** 属性comboename */
	private String comboename;

	/** 属性combocname */
	private String combocname;

	/** 属性combotname */
	private String combotname;
	
	/** 属性投保份数*/
	private String insureNumber;
	
	/** 属性备注*/
	private String remark;
	
	/** 属性是否部分必投保  	定费率产品	*/
	private String partselecttion;
	
	/** 属性部分顺序号*/
	private String serialno;
	
	/**	特殊部分标志  **/
	private String specialFlag;
	
	/**属性geProductSectionItemKinds*/
	private List<GeProductSectionItemkind> geProductSectionItemkinds = new ArrayList<GeProductSectionItemkind>(0);  
	/**属性geProductSectionItemkinds的get方法*/
	@OrderBy("serialno")
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "geProductSection")
	public List<GeProductSectionItemkind> getGeProductSectionItemkinds() {
		return geProductSectionItemkinds;
	}
	/**属性geProductSectionItemkinds的set方法*/
	public void setGeProductSectionItemkinds(
			List<GeProductSectionItemkind> geProductSectionItemkinds) {
		this.geProductSectionItemkinds = geProductSectionItemkinds;
	}

	/**
	 * 类GeProductSection的默认构造方法
	 */
	public GeProductSection() {
	}

	/**
	 * 属性combocode的getter方法
	 */
	
	@Id
	@Column(name = "COMBOCODE")
	@GenericGenerator(name = "UUIDGenerator", strategy = "uuid.hex")
	@GeneratedValue(generator = "UUIDGenerator")
	public String getCombocode() {
		return this.combocode;
	}

	/**
	 * 属性combocode的setter方法
	 */
	public void setCombocode(String combocode) {
		this.combocode = combocode;
	}

	/**
	 * 属性geRateCondition的getter方法
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CONDITIONID", nullable = false)
	@JsonBackReference
	public GeRateCondition getGeRateCondition() {
		return this.geRateCondition;
	}

	/**
	 * 属性geRateCondition的setter方法
	 */
	public void setGeRateCondition(GeRateCondition geRateCondition) {
		this.geRateCondition = geRateCondition;
	}

	/**
	 * 属性comboename的getter方法
	 */

	@Column(name = "COMBOENAME")
	public String getComboename() {
		return this.comboename;
	}

	/**
	 * 属性comboename的setter方法
	 */
	public void setComboename(String comboename) {
		this.comboename = comboename;
	}

	/**
	 * 属性combocname的getter方法
	 */

	@Column(name = "COMBOCNAME")
	public String getCombocname() {
		return this.combocname;
	}

	/**
	 * 属性combocname的setter方法
	 */
	public void setCombocname(String combocname) {
		this.combocname = combocname;
	}

	/**
	 * 属性combotname的getter方法
	 */

	@Column(name = "COMBOTNAME")
	public String getCombotname() {
		return this.combotname;
	}

	/**
	 * 属性combotname的setter方法
	 */
	public void setCombotname(String combotname) {
		this.combotname = combotname;
	}
	
	@Column(name="INSURENUMBER")
	public String getInsureNumber() {
		return insureNumber;
	}

	public void setInsureNumber(String insureNumber) {
		this.insureNumber = insureNumber;
	}

	@Column(name="REMARK")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	@Column(name="PARTSELECTTION")
	public String getPartselecttion() {
		return partselecttion;
	}
	public void setPartselecttion(String partselecttion) {
		this.partselecttion = partselecttion;
	}
	@Column(name="SERIALNO")
	public String getSerialno() {
		return serialno;
	}
	public void setSerialno(String serialno) {
		this.serialno = serialno;
	}
	@Column(name="SPECIALFLAG")
	public String getSpecialFlag() {
		return specialFlag;
	}
	public void setSpecialFlag(String specialFlag) {
		this.specialFlag = specialFlag;
	}
	
}
